import { PublicInterface } from '@/interface/public';

/**
 * 花名册
 */
export namespace RosterInterface {
  /**根据rosterId查询详情 */
  export interface ReqListByRosterId {
    rosterId: number;
  }

  /**根据rosterId，ids删除信息 */
  export interface ReqDelete {
    id: number;
    rosterId: number;
  }

  /** 根据id和花名册id删除信息 */
  export interface ReqId {
    id: number;
    rosterId: number;
  }
  /**
   *  花名册新增|编辑
   */
  export interface ReqRosterSave {
    id: number;
    type: string;
    flagNormal: number;
    name: string;
    idScope: string;
    gender: number;
    entryDept: string;
    introduceName: string;
    introduceRelation: string;
    entryJob: string;
    birthday: string;
    nativePlace: string;
    otherRecruitSource?: string;
    nation: string;
    weight: number;
    height: number;
    politicsStatus: string;
    education: string;
    marriageStatus: string;
    identityNumber: string;
    identityEnd: string;
    identityAddress: string;
    phoneNumber: string;
    residentialAddress: string;
    urgencyName: string;
    urgencyRelation: string;
    urgencyPhone: string;
    recruitSource: string;
    illnessName: string;
    entryDate: string;
    longitude: number;
    latitude: number;
    normalDate: string;
    remark: string;
  }

  /**
   * 花名册离职
   */
  export interface ReqRosterLeave {
    id: number;
    leaveDate: string;
    leaveType: string;
  }

  /**花名册修改员工类型 */
  export interface ReqRosterChangeType {
    type: string;
    id: number;
  }
  /**花名册修改员工岗位 */
  export interface ReqRosterChangeJob {
    id: number;
    entryDeptId: number;
    entryJobId: number;
  }

  /** 花名册分页查询 */
  export interface ReqRosterPageList {
    pageNum: number;
    pageSize: number;
    key?: string;
    politicsStatus?: string;
    marriageStatus?: string;
    type?: string;
    status?: [number];
    education?: string;
    recruitSource?: string;
    entryMonth?: string;
    overMonth?: string;
    normalDate?: string;
    queryType?: string;
    queryDays?: number;
    checkInDate?: string;
  }
  /** 花名册分页查询 */
  export interface ResRosterPageList {
    id: number;
    type: string;
    flagNormal: number;
    name: string;
    gender: number;
    birthday: string;
    nativePlace: string;
    nation: string;
    weight: number;
    height: number;
    politicsStatus: string;
    education: string;
    marriageStatus: string;
    identityNumber: string;
    identityEnd: string;
    identityAddress: string;
    phoneNumber: string;
    residentialAddress: string;
    urgencyName: string;
    urgencyRelation: string;
    urgencyPhone: string;
    recruitSource: string;
    illnessName: string;
    entryDate: string;
    longitude: number;
    latitude: number;
    normalDate: string;
    entryDeptId: number;
    entryJobId: number;
    entryDept: string;
    entryJob: string;
    remark: string;
  }
  /**财务信息 新增|编辑*/
  export interface ReqFinanceInfoSave {
    bankName: string;
    bankNumber: string;
    socialSecurityNumber: string;
    commercialInsurance: string;
    accumulationFund: string;
    remark: string;
    rosterId: number;
  }
  /**财务信息 查询*/
  export interface ResFinanceInfoList {
    bankName: string;
    bankNumber: string;
    socialSecurityNumber: string;
    commercialInsurance: string;
    accumulationFund: string;
    remark: string;
    rosterId: number;
  }
  /** 家庭信息 新增*/
  export interface ReqFamilyInfoSave {
    id: number;
    age: number;
    company: string;
    job: string;
    phone: string;
    name: string;
    relation: string;
    rosterId: number;
    remark: string;
  }
  /** 家庭信息 查询*/
  export interface ResFamilyInFoListById {
    id: number;
    age: number;
    company: string;
    job: string;
    phone: string;
    name: string;
    relation: string;
    rosterId: number;
    remark: string;
  }
  /**教育信息  新增|编辑*/
  export interface ReqEducationInfoSave {
    id: number;
    start: string;
    end: string;
    schoolName: string;
    major: string;
    flagGraduate: number;
    educationName: string;
    rosterId: number;
    remark: string;
  }
  /**教育信息  查询*/
  export interface ResEducationInfoList {
    id: number;
    start: string;
    end: string;
    schoolName: string;
    major: string;
    flagGraduate: number;
    educationName: string;
    rosterId: number;
    remark: string;
  }
  /**合同信息  新增|编辑*/
  export interface ReqContractInfoSave {
    id: number;
    start: string;
    end: string;
    ageLimit: number;
    dateOfSigning: string;
    remark: string;
    rosterId: number;
  }
  /**合同信息 查询*/
  export interface ResContractInfoListByRosterId {
    id: number;
    start: string;
    end: string;
    ageLimit: number;
    dateOfSigning: string;
    remark: string;
    rosterId: number;
  }
  /**其他信息 新增|编辑*/
  export interface ReqOtherInfoSave {
    id: number;
    rosterId: number;
    dormNumber: string;
  }
  /**其他信息 查询*/
  export interface ResOtherInfoList {
    id: number;
    rosterId: number;
    dormNumber: string;
  }
  /**工作信息 新增|编辑*/
  export interface ReqWorkInfoSave {
    id: number;
    start: string;
    end: string;
    companyName: string;
    job: string;
    leaveReason: string;
    certifier: string;
    certifierPhone: string;
    remark: string;
    rosterId: number;
  }
  /**工作信息 查询*/
  export interface ResWorkInfoList {
    id: number;
    start: string;
    end: string;
    companyName: string;
    job: string;
    leaveReason: string;
    certifier: string;
    certifierPhone: string;
    remark: string;
    rosterId: number;
  }
}
